package com.scau402.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.scau402.common.annotation.Excel;
import com.scau402.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;

/**
 * 供应商管理对象 wms_basic_supplier
 *
 * @author ruoyi
 * @date 2023-06-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@TableName("wms_basic_supplier")
public class WmsBasicSupplier extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 供应商管理id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 供应商编码
     */
    @TableField("supplier_code")
    @Excel(name = "供应商编码")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @TableField("supplier_name")
    @Excel(name = "供应商名称")
    private String supplierName;

    /**
     * 供应商类型
     */
    @TableField("supplier_type")
    @Excel(name = "供应商类型")
    private String supplierType;

    /**
     * 供应商地址
     */
    @TableField("address")
    @Excel(name = "供应商地址")
    private String address;

    /**
     * 采购员工姓名
     */
    @TableField("buyer_name")
    @Excel(name = "采购员工姓名 ")
    private String buyerName;

    /**
     * 采购员工手机号码
     */
    @TableField("buyer_phone")
    @Excel(name = "采购员工手机号码")
    private String buyerPhone;

    /**
     * 采购员工身份证号码
     */
    @TableField("buyer_idcard")
    @Excel(name = "采购员工身份证号码")
    private String buyerIdcard;

    /**
     * 结款模式
     */
    @TableField("settlement_way")
    @Excel(name = "结款模式")
    private String settlementWay;

    /**
     * 收款人姓名
     */
    @TableField("payee_name")
    @Excel(name = "收款人姓名")
    private String payeeName;

    /**
     * 收款人账户
     */
    @TableField("payee_account")
    @Excel(name = "收款人账户")
    private String payeeAccount;

    /**
     * 收款人开户行
     */
    @TableField("payee_bank")
    @Excel(name = "收款人开户行")
    private String payeeBank;

    /**
     * 结算方式（0成本价百分比 标签价百分比）
     */
    @TableField("settlement_type")
    @Excel(name = "结算方式", readConverterExp = "0=成本价百分比,标=签价百分比")
    private String settlementType;

    /**
     * 结算比率
     */
    @TableField("settlement_rate")
    @Excel(name = "结算比率")
    @Min(value = 0, message = "结算比率不能小于0")
    @Max(value = 100, message = "结算比率不能大于100")
    private Integer settlementRate;

    /**
     * 状态（0启用 1停用）
     */
    @TableField("status")
    @Excel(name = "状态", readConverterExp = "0=启用,1=停用")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableField("del_flag")
    private String delFlag;

    /**
     * 租户ID
     */
    @TableField("tenant_id")
    @Excel(name = "租户ID")
    private Long tenantId;

    /**
     * 部门ID
     */
    @TableField("dept_id")
    @Excel(name = "部门ID")
    private Long deptId;

}
